Ευχαριστώ για την εισήγηση αλλά ακόμα δεν υπάρχουν "δομές", θελω να σχεδιάσω κάτι από την αρχή.
Φαντάσου όμως ότι δεν μιλάμε και για τελείως απλές περιπτώσεις όπως (id, description) , ενδέχεται να υπάρχει και κάποιο listbox με lookup σε άλλο πίνακα, κλπ.
Και φυσικά ,formatting, calculated fields in client, στοίχιση, fonts, τύποι πεδίων, κανόνες συμπλήρωσης οπως (date, time, number, email κλπ)
Στο εργαλείο που δουλεύω μέχρι σήμερα μπορώ να σχεδιάσω το 'data' form (Sybase Datawindow) και να το βάλω σε οποιο παράθυρο/φόρμα θέλω κρατώντας την βασική λειτουργικότητα της φόρμας/παραθύρου.
Υποθέτοντας ότι το "παράθυρο" έχει ένα κουμπί "Save" , τότε αυτό το κουμπί θα καλεί την απαραίτητη function ανάλογα με την οντότητα που γίνεται edit (κάτι σαν function pointers), η ακόμα καλύτερα , αν το grid/form είναι προσχεδιασμένο , τότε θα έχει και την class που το συνοδεύει η οποία θα περιλαμβάνει την σχετική "Save" function.
Οι ενέργεις search/filter όμως μπορούν να είναι πιο έξυπνες και να λειτουργούν για όλα τα grid.
Τωρα όσο για το strategy pattern το έψαξα λίγο αλλά δεν μπορώ να βρώ κάτι σχετικό, θα συνεχίσω την αναζήτηση.
Για να γίνω λίγο πιο συγκεκριμένος και να πάω το θέμα και λίγο παρακάτω, δείτε την παρακάτω εικόνα:
Οπότε , φτιάχνω μια φορά το παράθυρο και μετά αλλάζω grid & forms.
Το ίδιο παράθυρο λοιπόν θα μπορεί να "διαχειριστεί" , πελάτες, προϊόντα, κλπ. Φυσικά το κάθε ένα από αυτά θα έχει και τις ιδιαιτερότητες του που τις κουβαλάει σε κάθε ενέργεια (insert,update,delete),
π.χ. δεν διαγράφουμε ένα προϊόν που έχει κινηθεί.
Ελπίζω να έγινα κατανοητός.
Ευχαριστώ